---
title: clsAttorneyPolicyAssignment
summary: API reference for clsAttorneyPolicyAssignment.
status: draft
owner: SAIF Case Management team
last_reviewed: 2026-08-21
library: SAIF.Business.Claim.Legal
reference_type: embedded
---

# clsAttorneyPolicyAssignment

`clsAttorneyPolicyAssignment` represents one policy-level attorney assignment row that ties a policy to its primary, secondary, and tertiary attorneys over an effective date range.* It also lazy-loads `clsPolicyData` so the same object can surface the policy name, parent account, and rate account used by table-maintenance screens.

## Purpose
- Stores the policy number, date range, and attorney employee IDs that define one policy assignment.
- Resolves policy metadata and attorney display names so users can review assignments without extra lookups.

## Context
- Namespace: `SAIF.Business.Claim.Legal.TableMaint`
- Assembly/package: `SAIF.Business.Claim.Legal`

## Public members

| Member | Kind | Type | Purpose |
|---|---|---|---|
| AttyPolicyAssgnSeqNum | Property | `Decimal` | Unique sequence number for the `ATTORNEY_POLICY_ASSIGNMENT` row. |
| PolicyNumber | Property | `Decimal` | Policy number associated with this row. |
| PolicyData | Read-only property | `clspolicydata` | Lazy-loaded `clsPolicyData` object for the current policy number. |
| ParentAccount | Read-only property | `String` | Parent policy/account number resolved from `PolicyData`. |
| RateAccount | Read-only property | `String` | Rate-account number resolved from `PolicyData`. |
| PolicyName | Read-only property | `String` | Display name of the linked policy. |
| EffectiveDate | Property | `Date` | Date the row becomes effective. |
| ExpirationDate | Property | `Nullable(Of Date)` | Date the row stops applying; when cleared, the row remains open-ended. |
| ExpirationDateSort | Property | `Date` | Non-null helper value used when list views sort by expiration date. |
| PrimaryEmployeeID | Property | `String` | Employee ID of the primary attorney assignment. |
| PrimaryName | Property | `String` | Display name resolved for the primary attorney assignment. |
| SecondaryEmployeeID | Property | `String` | Employee ID of the secondary attorney assignment. |
| SecondaryName | Property | `String` | Display name resolved for the secondary attorney assignment. |
| TertiaryEmployeeID | Property | `String` | Employee ID of the tertiary attorney assignment. |
| TertiaryName | Property | `String` | Display name resolved for the tertiary attorney assignment. |
| Create() | Protected Method | `—` | Obtains the next `ATTORNEY_POLICY_ASSIGNMENT_SEQ` value for a new policy-assignment row. |
| BeforeRetrieve(inPortalRequest As IPortalRequest) | Protected Method | `—` | Builds the retrieve request used to load this policy-attorney assignment row. |
| AfterRetrieve(inPortalRequest As IPortalRequest) | Protected Method | `IBusinessObject` | Copies the retrieved result-set row into this policy-attorney assignment row and marks it as persisted. |
| BeforeInsert(inPortalRequest As IPortalRequest) | Protected Method | `—` | Adds the current field values to the insert request for `ATTORNEY_POLICY_ASSIGNMENT`. |
| AfterInsert(InPortalRequest As IPortalRequest) | Protected Method | `—` | Verifies that one row was inserted and marks the object persisted; records an error when the insert fails. |
| BeforeUpdate(inPortalRequest As IPortalRequest) | Protected Method | `—` | Adds the current field values to the update request for `ATTORNEY_POLICY_ASSIGNMENT`. |
| AfterUpdate(InPortalRequest As IPortalRequest) | Protected Method | `—` | Verifies that one row was updated and marks the object persisted; records a contention error when the update fails. |
| BeforeDelete(inPortalRequest As IPortalRequest) | Protected Method | `—` | Builds the delete request for `ATTORNEY_POLICY_ASSIGNMENT` using this row's key values. |
| AfterDelete(InPortalRequest As IPortalRequest) | Protected Method | `—` | Verifies that one row was deleted and resets the object to a new state; records a contention error when the delete fails. |
| Load(inDataPortalInfo As IDataPortalInfo, Row As clsResultSet.DataRow) | Protected Friend Method | `—` | Loads this policy-attorney assignment row from a retrieved `clsResultSet.DataRow` and attaches criteria/data-portal state. |
| New() | Protected Friend Constructor | `—` | Framework constructor used when the data portal creates or materializes an instance. |
| New(inDataPortalInfo As IDataPortalInfo) | Protected Friend Constructor | `—` | Framework constructor that prepares the instance with data-portal context before creation or loading. |
| NewAttorneyPolicyAssignment(inDataportal As IDataPortalInfo) | Shared Method | `clsAttorneyPolicyAssignment` | Creates a new unsaved policy-attorney assignment row through the data portal so framework initialization runs. |
| GetAttorneyPolicyAssignment(inDataportal As IDataPortalInfo) | Shared Method | `clsAttorneyPolicyAssignment` | Retrieves a policy-assignment object through the type's criteria-defined retrieval path.* |
| AddBusinessRules() | Protected Method | `—` | Registers validation requiring a resolvable policy number and a selected primary attorney. |

> **Note:** Statements marked with `*` were inferred from code structure, naming
> conventions, or contextual evidence where direct confirmation was not available
> in source artifacts. Statements marked with `**` could not be confirmed; treat
> as unknown until verified.

## Sources

- `SAIF.Business.Claim.Legal\TableMaint\clsAttorneyPolicyAssignment.vb`
